﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;

public partial class User_Register : System.Web.UI.Page
{
    ThanhVienCtr thanhVienCtr = new ThanhVienCtr();
    EThanhVien thanhVien=new EThanhVien();
    private void layNgay()
    {

        var list = new List<string>();
        list.Add("Chọn Ngày ");
        for (int i = 1; i <= 31; i++)
        {
            list.Add(i.ToString());
        }
        dlNgay.DataSource = list;
        dlNgay.DataBind();
    }
    private void layThang()
    {
        var list = new List<string>();
        list.Add("Chọn Tháng ");
        for (int i = 1; i <= 12; i++)
        {
            list.Add(i.ToString());
        }
        dlThang.DataSource = list;
        dlThang.DataBind();
    }
    private void layNam()
    {
        var list = new List<string>();
        list.Add("Chọn Năm ");
        for (int i = int.Parse(DateTime.Now.Year.ToString()) - 25; i <= int.Parse(DateTime.Now.Year.ToString()); i++)
        {
            list.Add(i.ToString());
        }
        dlNam.DataSource = list;
        dlNam.DataBind();
    }
    private bool kiemtraNgay(string ngay)
    {
        bool flag = true;
        try
        {
            DateTime.Parse(ngay);
        }
        catch (Exception ex)
        {
            lbNgay.Text = "Ngày không đúng.";
            // return false;
            flag = false;
        }
        // return true;
        return flag;

    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            txtTenDN.Attributes.Add("onkeypress", "return clickButton(event,'" + btnDangKy.ClientID + "')");
            txtEmail.Attributes.Add("onkeypress", "return clickButton(event,'" + btnDangKy.ClientID + "')");
            layNgay();
            layThang();
            layNam();
            //lbloitendangnhap.Text = "";
            //lbloinatkhau.Text = "";
            //lbloiemail.Text = "";
            //lbNgay.Text = "";
            //lbLoiCMND.Text = "";
        }
        
    }
    protected bool xulyCaptcha()
    {
        lblMessage.Text = "";
        if (txtCaptcha.Text.Equals(Session["captcha"].ToString(), StringComparison.OrdinalIgnoreCase))
            return true;
        else
        {
            lblMessage.Text = "Vui lòng nhập đúng chuỗi xác nhận";
            return false;
        }
    }
    protected void btnDangKy_Click1(object sender, EventArgs e)
    {
        //lbloiemail.Text = "";
        //checkboxcamket.ForeColor = System.Drawing.Color.Black;
        //checkboxcamket.Checked = false;
        if (checkboxcamket.Checked && xuLyTenDangNhap() && xulyemail() && xuLySoCMND())
        {
            if(txtEmail.Text!=""&&txtTenDN.Text!="")
            {
                try
                {

                    if (xuLyMatKhau())
                    {

                        ThanhVienCtr thanhVienCtr = new ThanhVienCtr();
                        EThanhVien thanhVien = new EThanhVien();
                        thanhVien.TenDangNhap = txtTenDN.Text;
                        thanhVien.MatKhau = txtMatKhau.Text;
                        thanhVien.TenKH = txtHoTen.Text;
                        thanhVien.Email = txtEmail.Text;
                        //string[] abc = txtNgaySinh.Text.Split('/');
                        // string ngaySinh = abc[abc.Length - 2] + "/" + abc[0] + "/" + abc[abc.Length - 1];
                        //thanhVien.NgaySinh = DateTime.Parse(txtNgaySinh.Text);
                        string ngayDang = dlThang.Text.ToString() + "/" + dlNgay.Text.ToString() + "/" + dlNam.Text.ToString();
                        if (kiemtraNgay(ngayDang))
                        {

                            thanhVien.NgaySinh = DateTime.Parse(ngayDang);

                        }
                        thanhVien.DiaChi = txtDiaChi.Text;
                        thanhVien.CMND = txtCMND.Text;
                        thanhVien.DienThoai = txtDienThoai.Text;
                        thanhVien.ActiveCode = Session.SessionID.Substring(0, 20);
                        thanhVienCtr.DangKy(thanhVien);

                        string bodyMess = "<div><div style='font-size:larger;color:Gray'><h2>TheGioiCuaBe.net - Kích hoạt tài khoản</h2></div>" +
             "<div>Chào bạn, " + thanhVien.TenKH + "<br />" +
                 "Chúc mừng bạn đã đăng ký thành công trên TheGioiCuaBe.net online!<br />" +
                            //"Chúng tôi nhận được đăng ký tài khoản của bạn,<br />"+
                 "Tên đăng nhập: " + thanhVien.TenDangNhap + "<br />" +
             "Bạn vui lòng kích hoạt thông tin tài khoản tại <a href='" +
             "http://localhost:1989/TheGioiCuaBe/User/ActiveAccount.aspx?userid=" + thanhVien.TenDangNhap + "&amp;code=" + thanhVien.ActiveCode + "'>đây</a><br />" +
             "Nếu trình duyệt không tự chuyển, vui lòng xác chạy đường dẫn sau trên trình duyệt của bạn!<br />" +
                 "http://localhost:1989/TheGioiCuaBe/User/ActiveAccount.aspx?userid=" + thanhVien.TenDangNhap + "&amp;code=" + thanhVien.ActiveCode + "<br />" +
             "Chúc bạn thành công!<hr />" +
                 "<div style='color:Gray; font-size:small;'>" +
                 "Email này được gửi tự động từ trang thegioicuabe.net, nếu bạn không đăng ký tài khoản này, " +
                 "vui lòng trả lời chúng tôi qua email service.thegioicuabe@gmail.com</div>" +
             "</div></div>";
                        GoogleMail.Send(thanhVien.Email, "Đăng ký TheGioiCuaBe", bodyMess);
                        txtHoTen.Text = "";
                        txtTenDN.Text = "";
                        //txtNgaySinh.Text = "";
                        txtMatKhauNL.Text = "";
                        txtMatKhau.Text = "";
                        txtEmail.Text = "";
                        txtDienThoai.Text = "";
                        txtDiaChi.Text = "";
                        txtCMND.Text = "";
                        lbloitendangnhap.Text = "";
                        txtCaptcha.Text = "";
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "alert",
                                "alert('Đăng ký thành viên thành công, vui lòng kiểm tra email để kích hoạt tài khoản !');", true);
                        //Response.Redirect("ThanhVienMoi.aspx?tenthanhvien=" +thanhVien.TenDangNhap);
                    }
                    else
                    {
                        return;
                    }

                }
                catch (Exception ex)
                {
                    lbloiemail.Text = "Lỗi kết nối,không thể gửi mail!";
                    
                    txtEmail.Focus();
                }
            }
        }
        else
        {
            checkboxcamket.ForeColor = System.Drawing.Color.Red;
            checkboxcamket.Checked = false;
        }
    }
    private bool xuLyTenDangNhap()
    {
        lbloitendangnhap.Text = "";
        thanhVien.TenDangNhap = txtTenDN.Text;
        if (thanhVien.TenDangNhap == "")
        {
            lbloitendangnhap.Text = "*";
            return false;
        }
        else if (thanhVien.TenDangNhap.Length < 6)
        {
            lbloitendangnhap.Text = "Tên đăng nhập phải từ 6 ký tự trở lên!";
            txtTenDN.Focus();
            return false;
        }
        else if (kiemTraTenDangNhap())
        {
            txtMatKhau.Focus();
            return true;
        }
        else
        {
            lbloitendangnhap.Text = "Tên Đăng Nhập Đã Tồn Tại";
            txtTenDN.Focus();
            return false;
        }

    }
    private bool xuLyMatKhau()
    {
        lbloinatkhau.Text = "";
        //thanhVien.MatKhau = txtMatKhau.Text;
       
        if (txtMatKhau.Text.Length < 6)
        {
            lbloinatkhau.Text = "Mật khẩu phải từ 6 ký tự trở lên!";
            txtMatKhau.Focus();
            return false;
        }
        else
        {
            //lbloinatkhau.Text = "";
            //string a = txtMatKhau.Text;
            //txtMatKhau.Text = a;

           // txtMatKhauNL.Focus();
            return true;
        }

    }
    private bool xulyemail()
    {
        thanhVien.Email = txtEmail.Text;
        lbloiemail.Text = "";
        if (thanhVien.Email == "")
        {
            
            lbloiemail.Text = "*";
            return false;
        }
        else if (IsEmail(txtEmail.Text) == false)
        {
            lbloiemail.Text = "Email Không Chính Xac";
            return false;
        }
        else if (kiemtraEmailTonTai())
        {
            
            //txtNgaySinh.Focus();
            return true;
        }
        else
        {

            lbloiemail.Text = "Email Đã Tồn Tại";
            txtEmail.Focus();
            return false;
        }
    }
    public bool kiemTraTenDangNhap()
    {
        if (thanhVienCtr.layTenDangNhap(thanhVien.TenDangNhap) == null)//chua co
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public bool kiemTraSoCMND()
    {
        if (thanhVienCtr.laySoCMND(thanhVien.CMND) != null)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public bool xuLySoCMND()
    {
        thanhVien.CMND = txtCMND.Text;
        lbLoiCMND.Text = "";
        if (kiemTraSoCMND())
        {
            lbLoiCMND.Text = "Số CMND này đã tồn tại!";
            txtCMND.Focus();
            return false;
        }
        else
        {
            return true;
        }
    }
    public bool kiemtraEmailTonTai()
    {
        if (thanhVienCtr.layEmail(thanhVien.Email) == null)
        {
            //mail chua ton tai
            return true;
        }
        else
        {
            //mail da ton tai
            return false;
        }
    }
    private bool IsEmail(string s)
    {
        Regex isNumber = new Regex(@"^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
        Match match = isNumber.Match(s);
        return match.Success;
    }
    protected void txtTenDN_TextChanged(object sender, EventArgs e)
    {
        xuLyTenDangNhap();
    }
    //protected void txtEmail_TextChanged(object sender, EventArgs e)
    //{
    //    xulyemail();
    //}
    //protected void Button1_Click(object sender, EventArgs e)
    //{
    //    txtDiaChi.Text = "";
    //    txtDienThoai.Text = "";
    //    txtEmail.Text = "";
    //    txtHoTen.Text = "";
    //    txtMatKhau.Text = "";
    //    txtMatKhauNL.Text = "";
    //    txtNgaySinh.Text = "";
    //    txtTenDN.Text = "";
    //    //string[] abc = imgproduct.ImageUrl.Split('/');
    //    //image = abc[abc.Length - 1];

    //}
    //protected void txtMatKhau_TextChanged(object sender, EventArgs e)
    //{
    //    xuLyMatKhau();
    //}
}